home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Gold Collection
/
Software Vault - The Gold Collection (American Databankers) (1993).ISO
/
cdr15
/
vivtools.zip
/
VTOOLS.DOC
< prev
Wrap
Text File
|
1993-06-01
|
9KB
|
213 lines
Object Tools For Vivid Raytracers
By N. Martina - October 1992.
HISTORY --------------------------------------------------------------------
This project started out one night while I was busy planning an
image which would contain many different primitives floating in the
air. The cube, sphere, disk, triangle, parabola, torus and ellipsoid.
A pyramid was on the list but also came some other primitives related
to the pyramid. Aha! Those "3-D polygons". Since I like to have my
computer do "most everything" for me, and I happen to know some
programming, I thought it would be nice to have a few utilities
generate some of the objects that are not provided by the raytracer.
So here they are,
ARCTORUS.EXE
PYRAMID.EXE
POLYGON.EXE
QUAD.EXE
SPHERES.EXE
My tool box is now empty. I'm giving away those tools to the public.
FREE!
PROG. INFO.-----------------------------------------------------------------
To all those traceaholics like me, who spend most of their leisure
hours raytracing. I hope you can find some use out of them. I like
them, of course, but I know their limitations. I did not plan to
distribute them in their command-line versions since I'm working on
a menu based version which integrates all the utilities in one unit
and with mouse control, etc. I'm releasing them so I can get your
feedback on their performance or, well you know, bugs. I would like
them to be as clean as possible, so if you find any bugs tell me
where you saw them or where you guess they are and I'll find'em
and kill'em myself. Yeah!
Limitations: Some of the utilities have limitations. With that I
mean, that I'm still working on error handling on the command-line.
Here are a few things you should be aware of until they are fixed,
or maybe you could help me solve:
- The utilities accept numbers/characters for filenames. Re-check
your command-line entries before execution.
- Keep the entries in the order they appear on the examples, since
I'm not using any letter/character to indicate the field entries.
- For now all the object generated will appear at 0,0,0.
- The utilities do not check for the existing filenames. They are
automatically overwritten. This may be handy sometimes. I am
working on it.
- Some utilities close their objects with polygons. The polygons
are all marked by "// Cap #..." to make search and removal easy
in case they are not desired.
USAGE ----------------------------------------------------------------------
ARCTORUS <outfile> (radius) (rad1) (rad2) (ang1) (ang2)
Where:
outfile = name of file to receive the generated data.
radius = major radius of the arc/torus.
rad1 = initial radius of the minor radius.
rad2 = ending radius of the minor radius.
ang1 = starting angle for minor radius.
ang2 = ending angle for minor radius.
Examples: ARCTORUS donut.vo 3 .25 .25 0 360
ARCTORUS hoop.vo 5 .1 .1 0 360
ARCTORUS horn.vo 1.13 .46 .14 0 90
Note: This utility creates the arc or torus at (0,0,0) with the
opening facing up in the positive z-direction. The starting
angle is always located at (0,radius,0).
- Initial angle cannot be larger than ending angle.
It bums out. I'm working on it.
----------------------------------------------------------------------------
POLYGON (faces) (radius) (depth) <outfile>
Where:
faces = Number of faces of the polygon
radius = From base center to base edge.
depth = Vertical length of polygon.
outfile = Name of file to contain the object.
Example: bolt 6 3 4 3 hexgon.dat creates a hexagon, of radius 3
and 4 units deep(or long), with both ends capped.
----------------------------------------------------------------------------
PYRAMID (faces) (radius) (depth) <outfile> [c 1 | 0 ]
Where:
faces = Number of lateral faces of the pyramid.
radius = From base center to base edge.
depth = Vertical length perpendicular from the base to
the apex of the pyramid.
outfile = Name of file to receive the generated data.
c = 1 - Cover the base; 0 - Leave it open.(Default=0)
Example: PYRAMID 4 2 3 pyramid.dat c 1 creates a four faced pyramid,
of base radius 2, 3 units deep, and a cover.
----------------------------------------------------------------------------
QUAD <outfile> (depth) (increment) [A]
Where:
outfile = name of file to receive the generated data.
depth = vertical length of parabola.
increment = number of cones the parabola is made of.
A = factor to control the diameter of parabola.
(default = 1.0)\n");
Example: QUAD para.bol 5 120 .1
The simple F(x) = y = A(x)^2 + B(x) + C quadratic form was used for
this utility. Since the parabolas are always created with their vertex
at the (0,0,0), B and C where set to zero. This will simplify the task
of translating the object from one place to another.
----------------------------------------------------------------------------
SPHERES (radius1) (radius2) (#layers) (#spheres) <outfile>
Where:
radius1 = radius of the imaginary sphere.
radius2 = radius of the spheres on each layer.
#layers = number of layers to build the imaginary sphere.
#sphere = number of spheres per layer.
outfile = name of file to receive to generated data.
Example: SPHERE 5 0.2 180 90 balls.vo, creates a sphere of radius 5,
and made out of 180 layers, each layer consisting of 90 balls
with a radius of 0.2
Note: Please choose <#layers> and <#sphere> carefully since they accept
large numbers and because of this, you may generate very large
files. Reasonable values for these two parameters range from
30 - 180 for <#layers> and 50 to 90 for <#sphere>.
-The center of the object is located at (0,0,0).
NOTE -----------------------------------------------------------------------
ARCTORUS, PYRAMID, POLYGON, QUAD, SPHERES and **COLORMAP are not
shareware, they are all freeware, meaning that you can copy and
distribute them in their original status on a non-profit basis,
which means that I retain all the rights on the source codes and
that you cannot sell them.
Enjoy them!
** ColorMap will only be released on request.
LEGAL INFO. & DISCLAIMER ---------------------------------------------------
- No portion of this package may be separated from the package and
distributed separately without the written permission of the author.
- This software may not be included in whole or in part in any
software without the written permission of the Norman Martina.
- This software may not be included in any publication, such as, but
not limited to, magazines, books, newspapers, or newsletters, without
the written permission of the Norman Martina.
DISCLAIMER
----------
This software is provided as is without any guarantees or warranty.
Although the author have attempted to find and correct any bugs in
the package, he is not responsible for any damage or losses of any
kind caused by the use or misuse of the utilities. Norman Martina is
under no obligation to provide service, corrections, or upgrades
to this package.
Vivid is a registered trademark of Vivid Software.
The author of Vivid is Stephen B. Coy (The Master of Raytracers).
HOW TO CONTACT ME ----------------------------------------------------------
If you want to know of any other utilities that I may have left in my
toolbox, drop me a letter or an E-Mail.
I don't have time these days to answer all the questions as they come
in, since I have a full time job which is "looking for a real job", but
I'll make time to answer them all for sure.
My address is:
Norman Martina
36 Relroy Court
Scarborough, ON.
M1W 2Y7
E-Mail me at:
Digital Pixel BBS
"Canada's best and original graphics oriented BBS"
Tel: (416) 289-1487
#305
Image Data Online
"The CAD oriented BBS"
Tel: (416) 778-5700
LAST BUT NOT LEAST ---------------------------------------------------------
I like to thank my loving(dushi) wife for all her love and patience. I
wonder how it must be to be married to someone who spends most of the
nights down in the cold basement tracing those photons rays. I guess we
are real "traceaholics."